package cc.zy.base.hr.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wuwenze.poi.annotation.ExcelField;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 计划外培训
 *
 * @author liu
 * @time 2022/03/08 21:15:52
 */
@Data
@TableName("t_hr_trainning_plan_execute")
public class Execute {


    /**
     * 主键 自增
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;


    /**
     * 批次表主键
     */
    @TableField("BATCH_ID")
    private Integer batchId;


    /**
     * 培训级别
     */
    @TableField("TRAINNING_LEVEL")
    private Integer trainningLevel;


    /**
     * 培训类别
     */
    @TableField("TRAINNING_TYPE")
    private Integer trainningType;


    /**
     * 计划培训名称
     */
    @TableField("TRAINNING_TITLE")
    private String trainningTitle;


    /**
     * 参训人员信息简述
     */
    @TableField("PARTICIPANTS_TITLE")
    private String participantsTitle;


    /**
     * 组织部门
     */
    @TableField("ORGANIZATION_DEPT_NAME_LIST")
    private String organizationDeptNameList;


    /**
     * 讲师信息
     */
    @TableField("TEACHER_INFO")
    private String teacherInfo;

    /**
     * 笔试考试
     */
    @TableField("CHECH_STYLE_EXAMINE")
    private Integer chechStyleExamine;


    /**
     * 现场体会
     */
    @TableField("CHECK_STYLE_EXPERIENCE")
    private Integer checkStyleExperience;


    /**
     * 分享交流
     */
    @TableField("CHECK_STYLE_COMMUNACATION")
    private Integer checkStyleCommunacation;


    /**
     * 现场实操
     */
    @TableField("CHECK_STYLE_OPERATION")
    private Integer checkStyleOperation;


    /**
     * 培训方式
     */
    @TableField("INNER_OR_OUTTER")
    private String innerOrOutter;

    /**
     * 备注信息
     */
    @TableField("REMARK")
    private String remark;



    /**
     * 创建用户ID
     */
    @TableField("CREATE_USER_ID")
    private Integer createUserId;


    /**
     * 创建时间
     */
    @TableField("CREATE_DATE")
    private Date createDate;


    /**
     * 最后修改用户ID
     */
    @TableField("LAST_MODIFY_USER_ID")
    private Long lastModifyUserId;


    /**
     * 最后修改时间
     */
    @TableField("LAST_MODIFY_DATE ")
    private Date lastModifyDate;


    /**
     * 创建人名称
     */
    @ExcelField(value = "创建人")
    @TableField(exist = false)
    private String createUserName;


    /**
     * 更新人名称
     */
    @ExcelField(value = "更新人")
    @TableField(exist = false)
    private String lastModifyUserName;


    /**
     * 培训级别名称
     */
    @TableField(exist = false)
    private String trainningLevelName;


    /**
     * 培训类别名称
     */
    @TableField(exist = false)
    private String trainningTypeName;


    /**
     * 计划内培训、计划外培训；
     * 10000：计划内培训INSIDE；
     * 10001：计划外培训OUTSIDE；
     */
    @TableField("PLAN_TYPE")
    private Integer planType;


    /**
     * 计划开始时间
     */
    @TableField("PLAN_BEGIN_TIME")
    private Date planBeginTime;


    /**
     * 计划结束时间
     */
    @TableField("PLAN_END_TIME")
    private Date planEndTime;


    /**
     * 实际开始时间
     */
    @TableField("ACTUAL_BEGIN_TIME")
    private Date actualBeginTime;


    /**
     * 实际完成时间
     */
    @TableField("ACTUAL_END_TIME")
    private Date actualEndTime;


    /**
     * 是否取消该培训；0：正常计划，不取消；1：确认取消
     */
    @TableField("CANCEL")
    private Integer cancel;


    /**
     * 培训是否举办完成；0：未举办；1：举办完成
     */
    @TableField("FINISH")
    private Integer finish;


    /**
     * 课时，计划结束时间 - 计划开始时间；设定实际开始时间、结束时间时显示给用户，确认后写入字段
     */
    @TableField("CLASS_HOUR")
    private BigDecimal classHour;


    /**
     * 课程信息ID，从课程表获得
     */
    @TableField("COURSE_ID")
    private Integer courseId;


    /**
     * 如果有考试，关联在线考试ID
     */
    @TableField("EXAMINE_ID")
    private Integer examineId;


    /**
     * 课程信息名字
     */
    @TableField(exist = false)
    private String courseName;


    /**
     * 考试名字
     */
    @TableField(exist = false)
    private String examineName;

}
